package com.itheima.nio.buffer.demo04;

import java.io.IOException;
import java.net.InetSocketAddress;
import java.nio.ByteBuffer;
import java.nio.channels.SocketChannel;

/**
 * 使用NIO技术结合TCP协议去实现网络编程
 */
public class NioClientDemo01 {

    public static void main(String[] args) throws IOException {

        /**
         * 步骤：
         * 1. 打开一个SocketChannel
         * 2. 连接指定的服务器
         * 3. 创建ByteBuffer(准备要写的数据)
         * 4. 使用SocketChannel将Buffer中的数据写入到服务端
         * 5. 释放资源
         */
        // 1. 打开一个SocketChannel
        SocketChannel socketChannel = SocketChannel.open();

        // 2. 连接指定的服务器
        // public InetSocketAddress(String hostname, int port)
        socketChannel.connect(new InetSocketAddress("169.254.106.206" , 8080)) ;

        // 3. 创建ByteBuffer(准备要写的数据)
        ByteBuffer byteBuffer = ByteBuffer.wrap("Hello , NIO我来了".getBytes("UTF-8"));

        // 4. 使用SocketChannel将Buffer中的数据写入到服务端
        socketChannel.write(byteBuffer) ;

        // 5. 释放资源
        socketChannel.close();

    }

}
